import 'package:app/src/http/bean/ywx_limit.dart';
///审核管理
class AuditManager {
  static AuditManager _auditManager = AuditManager();

  static AuditManager getAuditManager() {
    return _auditManager;
  }

  static setAuditManager(AuditManager auditManager) {
    if (_auditManager != null) {
      //防止对象不一致时，对之前的对象也更新。
      _auditManager.item = auditManager.item;
      _auditManager.ReviewTypeId = auditManager.ReviewTypeId;
      _auditManager.IsApproval = auditManager.IsApproval;
      _auditManager.ApprovalState = auditManager.ApprovalState;
      _auditManager.YwxId = auditManager.YwxId;
      _auditManager.YwxName = auditManager.YwxName;
      _auditManager._isDetailsWithAuto = auditManager._isDetailsWithAuto;
    }
    _auditManager = auditManager;
  }

  AuditManager() {}

  AuditManager.copy(this.item, this.ReviewTypeId, this.IsApproval,
      this.ApprovalState, this.YwxId, this.YwxName, this._isDetailsWithAuto);

  //复制记录当前的AuditManager
  AuditManager copyAuditManager() {
    AuditManager _auditManager2 = AuditManager.copy(item, ReviewTypeId,
        IsApproval, ApprovalState, YwxId, YwxName, _isDetailsWithAuto);
    return _auditManager2;
  }

  //审核类型
  YwxItem? item = null;

  //审核类型ID
  String? ReviewTypeId = null;

  //采购合同审核详细界面需要。
  String? BodyId="";

  //判断审核类型是否已经审核
  ///判断是否已审核；true 已审核（显示：查看），未审核 false（显示：审核，可以操作）
  bool IsApproval = false;

  //优先级会比IsApproval更高。
  String? ApprovalState = ""; //4 代表已退回；详情页面可以操作作废(终止)，重新上报。

  //判断审核类型是否已退回;fixme 这个字段好像没什么用。感觉没有用到。
  //static bool IsBack = false;

  ///判断是否已退回，如果已退回。
  bool isBack() {
    if (ApprovalState == "4") {
      return true;
    }
    return false;
  }

  /// 业务项Id
  String? YwxId = null;

  ///业务项名称;fixme (在列表信息里有，详情里没有)；如：合同审核(部门审核)
  String? YwxName = null;

  ///fixme 判断当前页面是否在审核详情页面；如果在审核详情页面，就不弹出待审核提示弹框。
  bool _isDetailsWithAuto = false;

  ///设置是否在详情页面；from 设置来源页面。
  setDetailsWithAuto(bool isDetailsWithAuto, String from) {
    _isDetailsWithAuto = isDetailsWithAuto;
    //print("=====================================_isDetailsWithAuto:$_isDetailsWithAuto\tfrom:$from");
  }

  bool getDetailsWithAuto() {
    return _isDetailsWithAuto;
  }

// //审核类型
// static YwxItem? item = null;
//
// //审核类型ID
// static String? ReviewTypeId = null;
//
// //判断审核类型是否已经审核
// static bool IsApproval = false;
//
// //优先级会比IsApproval更高。
// static String? ApprovalState = ""; //4 代表已退回；详情页面可以操作作废(终止)，重新上报。
//
// //判断审核类型是否已退回;fixme 这个字段好像没什么用。感觉没有用到。
// //static bool IsBack = false;
//
// ///判断是否已退回，如果已退回。
// static bool isBack() {
//   if (ApprovalState == "4") {
//     return true;
//   }
//   return false;
// }
//
// /// 业务项Id
// static String? YwxId = null;
//
// ///业务项名称;fixme (在列表信息里有，详情里没有)；如：合同审核(部门审核)
// static String? YwxName = null;
//
// ///fixme 判断当前页面是否在审核详情页面；如果在审核详情页面，就不弹出待审核提示弹框。
// static bool _isDetailsWithAuto = false;
//
// ///设置是否在详情页面；from 设置来源页面。
// static setDetailsWithAuto(bool isDetailsWithAuto,String from) {
//   _isDetailsWithAuto = isDetailsWithAuto;
//   //print("=====================================_isDetailsWithAuto:$_isDetailsWithAuto\tfrom:$from");
// }
//
// static bool getDetailsWithAuto() {
//   return _isDetailsWithAuto;
// }

  Auditmaterial? material = null;
}

///物料请购；请购单审核列表
class Auditmaterial {
  bool IsApproval = false;//fixme 默认就是false 未审核
  String YwxName = ""; // "YwxName": "请购申请",
}
